package com.molichuxing.gateway.bff.car.services;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.result.ResponseResult;
import com.molichuxing.gateway.bff.car.entity.response.IllegalAlarmVo;
import com.molichuxing.gateway.bff.car.entity.response.MileageExAlarmsVo;
import com.molichuxing.gateway.bff.car.entity.response.OfflineAlarmVo;
import com.molichuxing.gateway.bff.car.entity.response.WarehouseAlarmVo;

import java.util.Map;

/**
 * 车辆监控
 * @author whl
 */
public interface IVehicleMonitorBffService {
    /**
     * 失联车联报警
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<OfflineAlarmVo> getOfflineAlarmVoList(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 里程异变报警
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<MileageExAlarmsVo> getMileageExAlarmsList(Map<String, Object> params, Integer pageNum, Integer pageSize) ;

    /**
     * 使出仓库报警
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<WarehouseAlarmVo> getWarehouseAlarmList(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 使出仓库报警
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<WarehouseAlarmVo> getStoresAlarmList(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 驶入非法区域报警
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<IllegalAlarmVo> getIllegalAlarmList(Map<String, Object> params, Integer pageNum, Integer pageSize);

    /**
     * 下发控车命令
     * @param params
     * @return
     */
    ResponseResult sendControlCommand(Map<String, Object> params);
}
